// pages/medical-record-delivery/document-upload.js
Page({
	data: {
		formData: {
			patientName: '',
			hospitalizationNumber: '',
			idFrontImage: '',
			idBackImage: '',
			idHoldingImage: ''
		}
	},

	onLoad(options) {
		console.log('证件上传页面加载')
		// 获取之前保存的表单数据
		const previousFormData = wx.getStorageSync('medicalRecordFormData')
		if (previousFormData) {
			this.setData({
				formData: {
					...this.data.formData,
					...previousFormData
				}
			})
		}
	},

	// 住院人姓名输入
	onPatientNameInput(e) {
		this.setData({
			'formData.patientName': e.detail.value
		})
	},

	// 住院号输入
	onHospitalizationNumberInput(e) {
		this.setData({
			'formData.hospitalizationNumber': e.detail.value
		})
	},

	// 上传图片
	uploadImage(e) {
		const type = e.currentTarget.dataset.type
		
		wx.chooseImage({
			count: 1,
			sizeType: ['compressed'],
			sourceType: ['camera', 'album'],
			success: (res) => {
				const tempFilePath = res.tempFilePaths[0]
				
				// 显示上传中
				wx.showLoading({
					title: '上传中...'
				})
				
				// 上传到服务器
				wx.uploadFile({
					url: 'http://localhost:8080/upload',
					filePath: tempFilePath,
					name: 'file',
					formData: {
						type: type
					},
					success: (uploadRes) => {
						wx.hideLoading()
						
						if (uploadRes.statusCode === 200) {
							const data = JSON.parse(uploadRes.data)
							if (data.success) {
								this.setData({
									[`formData.${type}Image`]: data.url
								})
								wx.showToast({
									title: '上传成功',
									icon: 'success'
								})
							} else {
								wx.showToast({
									title: '上传失败',
									icon: 'none'
								})
							}
						} else {
							wx.showToast({
								title: '上传失败',
								icon: 'none'
							})
						}
					},
					fail: (error) => {
						wx.hideLoading()
						console.error('上传失败:', error)
						
						// 如果上传失败，先保存本地路径用于演示
						this.setData({
							[`formData.${type}Image`]: tempFilePath
						})
						
						wx.showToast({
							title: '已保存到本地',
							icon: 'success'
						})
					}
				})
			}
		})
	},

	// 下一步
	nextStep() {
		// 表单验证
		if (!this.data.formData.patientName.trim()) {
			wx.showToast({
				title: '请输入住院人姓名',
				icon: 'none'
			})
			return
		}
		if (!this.data.formData.hospitalizationNumber.trim()) {
			wx.showToast({
				title: '请输入住院号',
				icon: 'none'
			})
			return
		}
		if (!this.data.formData.idFrontImage) {
			wx.showToast({
				title: '请上传身份证人像面照片',
				icon: 'none'
			})
			return
		}
		if (!this.data.formData.idBackImage) {
			wx.showToast({
				title: '请上传身份证国徽面照片',
				icon: 'none'
			})
			return
		}
		if (!this.data.formData.idHoldingImage) {
			wx.showToast({
				title: '请上传手持身份证照片',
				icon: 'none'
			})
			return
		}

		// 保存表单数据到本地存储
		wx.setStorageSync('medicalRecordFormData', this.data.formData)

		// 跳转到病历信息页面
		wx.navigateTo({
			url: '/pages/medical-record-delivery/record-selection'
		})
	}
}) 